; SPDX-License-Identifier: Apache-2.0
;buildInfoPackage: chisel3, version: 3.4.3, scalaVersion: 2.12.12, sbtVersion: 1.3.10
circuit RotationCordic :
  module RotationCordic :
    input clock : Clock
    input reset : UInt<1>
    output io : {flip en : UInt<1>, flip phase : UInt<16>, flip inX : SInt<16>, flip inY : SInt<16>, outX : SInt<16>, outY : SInt<16>}

    wire _WIRE : SInt<18>[17] @[RotationCordic.scala 57:44]
    _WIRE[0] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[1] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[2] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[3] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[4] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[5] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[6] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[7] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[8] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[9] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[10] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[11] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[12] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[13] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[14] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[15] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    _WIRE[16] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 57:44]
    reg workingX : SInt<18>[17], clock with : (reset => (reset, _WIRE)) @[RotationCordic.scala 57:36]
    wire _WIRE_1 : SInt<18>[17] @[RotationCordic.scala 58:44]
    _WIRE_1[0] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[1] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[2] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[3] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[4] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[5] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[6] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[7] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[8] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[9] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[10] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[11] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[12] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[13] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[14] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[15] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    _WIRE_1[16] <= asSInt(UInt<18>("h00")) @[RotationCordic.scala 58:44]
    reg workingY : SInt<18>[17], clock with : (reset => (reset, _WIRE_1)) @[RotationCordic.scala 58:36]
    wire _WIRE_2 : UInt<16>[17] @[RotationCordic.scala 59:48]
    _WIRE_2[0] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[1] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[2] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[3] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[4] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[5] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[6] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[7] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[8] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[9] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[10] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[11] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[12] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[13] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[14] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[15] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    _WIRE_2[16] <= UInt<16>("h00") @[RotationCordic.scala 59:48]
    reg workingPhase : UInt<16>[17], clock with : (reset => (reset, _WIRE_2)) @[RotationCordic.scala 59:40]
    wire extendedX : SInt<18>
    extendedX <= asSInt(UInt<18>("h00"))
    wire extendedY : SInt<18>
    extendedY <= asSInt(UInt<18>("h00"))
    wire outputX : SInt<18>
    outputX <= asSInt(UInt<18>("h00"))
    wire outputY : SInt<18>
    outputY <= asSInt(UInt<18>("h00"))
    node _T = bits(outputX, 17, 2) @[RotationCordic.scala 68:21]
    node _T_1 = asSInt(_T) @[RotationCordic.scala 68:70]
    io.outX <= _T_1 @[RotationCordic.scala 68:11]
    node _T_2 = bits(outputY, 17, 2) @[RotationCordic.scala 69:21]
    node _T_3 = asSInt(_T_2) @[RotationCordic.scala 69:70]
    io.outY <= _T_3 @[RotationCordic.scala 69:11]
    when io.en : @[RotationCordic.scala 71:15]
      node _T_4 = bits(io.inX, 15, 15) @[RotationCordic.scala 72:28]
      node _T_5 = asSInt(_T_4) @[RotationCordic.scala 72:50]
      node lo = asUInt(asSInt(UInt<1>("h00"))) @[Cat.scala 30:58]
      node hi_lo = asUInt(io.inX) @[Cat.scala 30:58]
      node hi_hi = asUInt(_T_5) @[Cat.scala 30:58]
      node hi = cat(hi_hi, hi_lo) @[Cat.scala 30:58]
      node _T_6 = cat(hi, lo) @[Cat.scala 30:58]
      node _T_7 = asSInt(_T_6) @[RotationCordic.scala 72:106]
      extendedX <= _T_7 @[RotationCordic.scala 72:15]
      node _T_8 = bits(io.inY, 15, 15) @[RotationCordic.scala 73:28]
      node _T_9 = asSInt(_T_8) @[RotationCordic.scala 73:50]
      node lo_1 = asUInt(asSInt(UInt<1>("h00"))) @[Cat.scala 30:58]
      node hi_lo_1 = asUInt(io.inY) @[Cat.scala 30:58]
      node hi_hi_1 = asUInt(_T_9) @[Cat.scala 30:58]
      node hi_1 = cat(hi_hi_1, hi_lo_1) @[Cat.scala 30:58]
      node _T_10 = cat(hi_1, lo_1) @[Cat.scala 30:58]
      node _T_11 = asSInt(_T_10) @[RotationCordic.scala 73:106]
      extendedY <= _T_11 @[RotationCordic.scala 73:15]
      node _T_12 = bits(workingX[16], 2, 2) @[RotationCordic.scala 74:82]
      node _T_13 = asSInt(_T_12) @[RotationCordic.scala 74:113]
      node _T_14 = bits(workingX[16], 2, 2) @[RotationCordic.scala 74:172]
      node _T_15 = eq(_T_14, UInt<1>("h00")) @[RotationCordic.scala 74:151]
      node _T_16 = asSInt(_T_15) @[RotationCordic.scala 74:206]
      node lo_2 = asUInt(_T_16) @[Cat.scala 30:58]
      node hi_lo_2 = asUInt(_T_13) @[Cat.scala 30:58]
      node hi_hi_2 = asUInt(asSInt(UInt<16>("h00"))) @[Cat.scala 30:58]
      node hi_2 = cat(hi_hi_2, hi_lo_2) @[Cat.scala 30:58]
      node _T_17 = cat(hi_2, lo_2) @[Cat.scala 30:58]
      node _T_18 = asSInt(_T_17) @[RotationCordic.scala 74:216]
      node _T_19 = add(workingX[16], _T_18) @[RotationCordic.scala 74:37]
      node _T_20 = tail(_T_19, 1) @[RotationCordic.scala 74:37]
      node _T_21 = asSInt(_T_20) @[RotationCordic.scala 74:37]
      outputX <= _T_21 @[RotationCordic.scala 74:13]
      node _T_22 = bits(workingY[16], 2, 2) @[RotationCordic.scala 75:82]
      node _T_23 = asSInt(_T_22) @[RotationCordic.scala 75:113]
      node _T_24 = bits(workingY[16], 2, 2) @[RotationCordic.scala 75:172]
      node _T_25 = eq(_T_24, UInt<1>("h00")) @[RotationCordic.scala 75:151]
      node _T_26 = asSInt(_T_25) @[RotationCordic.scala 75:206]
      node lo_3 = asUInt(_T_26) @[Cat.scala 30:58]
      node hi_lo_3 = asUInt(_T_23) @[Cat.scala 30:58]
      node hi_hi_3 = asUInt(asSInt(UInt<16>("h00"))) @[Cat.scala 30:58]
      node hi_3 = cat(hi_hi_3, hi_lo_3) @[Cat.scala 30:58]
      node _T_27 = cat(hi_3, lo_3) @[Cat.scala 30:58]
      node _T_28 = asSInt(_T_27) @[RotationCordic.scala 75:216]
      node _T_29 = add(workingY[16], _T_28) @[RotationCordic.scala 75:37]
      node _T_30 = tail(_T_29, 1) @[RotationCordic.scala 75:37]
      node _T_31 = asSInt(_T_30) @[RotationCordic.scala 75:37]
      outputY <= _T_31 @[RotationCordic.scala 75:13]
      node _T_32 = bits(workingPhase[0], 15, 15) @[RotationCordic.scala 88:31]
      node _T_33 = eq(_T_32, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_33 : @[RotationCordic.scala 88:54]
        node _T_34 = shr(workingY[0], 1) @[RotationCordic.scala 89:56]
        node _T_35 = add(workingX[0], _T_34) @[RotationCordic.scala 89:42]
        node _T_36 = tail(_T_35, 1) @[RotationCordic.scala 89:42]
        node _T_37 = asSInt(_T_36) @[RotationCordic.scala 89:42]
        workingX[1] <= _T_37 @[RotationCordic.scala 89:27]
        node _T_38 = shr(workingX[0], 1) @[RotationCordic.scala 90:56]
        node _T_39 = sub(workingY[0], _T_38) @[RotationCordic.scala 90:42]
        node _T_40 = tail(_T_39, 1) @[RotationCordic.scala 90:42]
        node _T_41 = asSInt(_T_40) @[RotationCordic.scala 90:42]
        workingY[1] <= _T_41 @[RotationCordic.scala 90:27]
        node _T_42 = add(workingPhase[0], UInt<13>("h012e4")) @[RotationCordic.scala 91:50]
        node _T_43 = tail(_T_42, 1) @[RotationCordic.scala 91:50]
        workingPhase[1] <= _T_43 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_44 = shr(workingY[0], 1) @[RotationCordic.scala 93:56]
        node _T_45 = sub(workingX[0], _T_44) @[RotationCordic.scala 93:42]
        node _T_46 = tail(_T_45, 1) @[RotationCordic.scala 93:42]
        node _T_47 = asSInt(_T_46) @[RotationCordic.scala 93:42]
        workingX[1] <= _T_47 @[RotationCordic.scala 93:27]
        node _T_48 = shr(workingX[0], 1) @[RotationCordic.scala 94:56]
        node _T_49 = add(workingY[0], _T_48) @[RotationCordic.scala 94:42]
        node _T_50 = tail(_T_49, 1) @[RotationCordic.scala 94:42]
        node _T_51 = asSInt(_T_50) @[RotationCordic.scala 94:42]
        workingY[1] <= _T_51 @[RotationCordic.scala 94:27]
        node _T_52 = sub(workingPhase[0], UInt<13>("h012e4")) @[RotationCordic.scala 95:50]
        node _T_53 = tail(_T_52, 1) @[RotationCordic.scala 95:50]
        workingPhase[1] <= _T_53 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_54 = bits(workingPhase[1], 15, 15) @[RotationCordic.scala 88:31]
      node _T_55 = eq(_T_54, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_55 : @[RotationCordic.scala 88:54]
        node _T_56 = shr(workingY[1], 2) @[RotationCordic.scala 89:56]
        node _T_57 = add(workingX[1], _T_56) @[RotationCordic.scala 89:42]
        node _T_58 = tail(_T_57, 1) @[RotationCordic.scala 89:42]
        node _T_59 = asSInt(_T_58) @[RotationCordic.scala 89:42]
        workingX[2] <= _T_59 @[RotationCordic.scala 89:27]
        node _T_60 = shr(workingX[1], 2) @[RotationCordic.scala 90:56]
        node _T_61 = sub(workingY[1], _T_60) @[RotationCordic.scala 90:42]
        node _T_62 = tail(_T_61, 1) @[RotationCordic.scala 90:42]
        node _T_63 = asSInt(_T_62) @[RotationCordic.scala 90:42]
        workingY[2] <= _T_63 @[RotationCordic.scala 90:27]
        node _T_64 = add(workingPhase[1], UInt<12>("h09fb")) @[RotationCordic.scala 91:50]
        node _T_65 = tail(_T_64, 1) @[RotationCordic.scala 91:50]
        workingPhase[2] <= _T_65 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_66 = shr(workingY[1], 2) @[RotationCordic.scala 93:56]
        node _T_67 = sub(workingX[1], _T_66) @[RotationCordic.scala 93:42]
        node _T_68 = tail(_T_67, 1) @[RotationCordic.scala 93:42]
        node _T_69 = asSInt(_T_68) @[RotationCordic.scala 93:42]
        workingX[2] <= _T_69 @[RotationCordic.scala 93:27]
        node _T_70 = shr(workingX[1], 2) @[RotationCordic.scala 94:56]
        node _T_71 = add(workingY[1], _T_70) @[RotationCordic.scala 94:42]
        node _T_72 = tail(_T_71, 1) @[RotationCordic.scala 94:42]
        node _T_73 = asSInt(_T_72) @[RotationCordic.scala 94:42]
        workingY[2] <= _T_73 @[RotationCordic.scala 94:27]
        node _T_74 = sub(workingPhase[1], UInt<12>("h09fb")) @[RotationCordic.scala 95:50]
        node _T_75 = tail(_T_74, 1) @[RotationCordic.scala 95:50]
        workingPhase[2] <= _T_75 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_76 = bits(workingPhase[2], 15, 15) @[RotationCordic.scala 88:31]
      node _T_77 = eq(_T_76, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_77 : @[RotationCordic.scala 88:54]
        node _T_78 = shr(workingY[2], 3) @[RotationCordic.scala 89:56]
        node _T_79 = add(workingX[2], _T_78) @[RotationCordic.scala 89:42]
        node _T_80 = tail(_T_79, 1) @[RotationCordic.scala 89:42]
        node _T_81 = asSInt(_T_80) @[RotationCordic.scala 89:42]
        workingX[3] <= _T_81 @[RotationCordic.scala 89:27]
        node _T_82 = shr(workingX[2], 3) @[RotationCordic.scala 90:56]
        node _T_83 = sub(workingY[2], _T_82) @[RotationCordic.scala 90:42]
        node _T_84 = tail(_T_83, 1) @[RotationCordic.scala 90:42]
        node _T_85 = asSInt(_T_84) @[RotationCordic.scala 90:42]
        workingY[3] <= _T_85 @[RotationCordic.scala 90:27]
        node _T_86 = add(workingPhase[2], UInt<11>("h0511")) @[RotationCordic.scala 91:50]
        node _T_87 = tail(_T_86, 1) @[RotationCordic.scala 91:50]
        workingPhase[3] <= _T_87 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_88 = shr(workingY[2], 3) @[RotationCordic.scala 93:56]
        node _T_89 = sub(workingX[2], _T_88) @[RotationCordic.scala 93:42]
        node _T_90 = tail(_T_89, 1) @[RotationCordic.scala 93:42]
        node _T_91 = asSInt(_T_90) @[RotationCordic.scala 93:42]
        workingX[3] <= _T_91 @[RotationCordic.scala 93:27]
        node _T_92 = shr(workingX[2], 3) @[RotationCordic.scala 94:56]
        node _T_93 = add(workingY[2], _T_92) @[RotationCordic.scala 94:42]
        node _T_94 = tail(_T_93, 1) @[RotationCordic.scala 94:42]
        node _T_95 = asSInt(_T_94) @[RotationCordic.scala 94:42]
        workingY[3] <= _T_95 @[RotationCordic.scala 94:27]
        node _T_96 = sub(workingPhase[2], UInt<11>("h0511")) @[RotationCordic.scala 95:50]
        node _T_97 = tail(_T_96, 1) @[RotationCordic.scala 95:50]
        workingPhase[3] <= _T_97 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_98 = bits(workingPhase[3], 15, 15) @[RotationCordic.scala 88:31]
      node _T_99 = eq(_T_98, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_99 : @[RotationCordic.scala 88:54]
        node _T_100 = shr(workingY[3], 4) @[RotationCordic.scala 89:56]
        node _T_101 = add(workingX[3], _T_100) @[RotationCordic.scala 89:42]
        node _T_102 = tail(_T_101, 1) @[RotationCordic.scala 89:42]
        node _T_103 = asSInt(_T_102) @[RotationCordic.scala 89:42]
        workingX[4] <= _T_103 @[RotationCordic.scala 89:27]
        node _T_104 = shr(workingX[3], 4) @[RotationCordic.scala 90:56]
        node _T_105 = sub(workingY[3], _T_104) @[RotationCordic.scala 90:42]
        node _T_106 = tail(_T_105, 1) @[RotationCordic.scala 90:42]
        node _T_107 = asSInt(_T_106) @[RotationCordic.scala 90:42]
        workingY[4] <= _T_107 @[RotationCordic.scala 90:27]
        node _T_108 = add(workingPhase[3], UInt<10>("h028b")) @[RotationCordic.scala 91:50]
        node _T_109 = tail(_T_108, 1) @[RotationCordic.scala 91:50]
        workingPhase[4] <= _T_109 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_110 = shr(workingY[3], 4) @[RotationCordic.scala 93:56]
        node _T_111 = sub(workingX[3], _T_110) @[RotationCordic.scala 93:42]
        node _T_112 = tail(_T_111, 1) @[RotationCordic.scala 93:42]
        node _T_113 = asSInt(_T_112) @[RotationCordic.scala 93:42]
        workingX[4] <= _T_113 @[RotationCordic.scala 93:27]
        node _T_114 = shr(workingX[3], 4) @[RotationCordic.scala 94:56]
        node _T_115 = add(workingY[3], _T_114) @[RotationCordic.scala 94:42]
        node _T_116 = tail(_T_115, 1) @[RotationCordic.scala 94:42]
        node _T_117 = asSInt(_T_116) @[RotationCordic.scala 94:42]
        workingY[4] <= _T_117 @[RotationCordic.scala 94:27]
        node _T_118 = sub(workingPhase[3], UInt<10>("h028b")) @[RotationCordic.scala 95:50]
        node _T_119 = tail(_T_118, 1) @[RotationCordic.scala 95:50]
        workingPhase[4] <= _T_119 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_120 = bits(workingPhase[4], 15, 15) @[RotationCordic.scala 88:31]
      node _T_121 = eq(_T_120, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_121 : @[RotationCordic.scala 88:54]
        node _T_122 = shr(workingY[4], 5) @[RotationCordic.scala 89:56]
        node _T_123 = add(workingX[4], _T_122) @[RotationCordic.scala 89:42]
        node _T_124 = tail(_T_123, 1) @[RotationCordic.scala 89:42]
        node _T_125 = asSInt(_T_124) @[RotationCordic.scala 89:42]
        workingX[5] <= _T_125 @[RotationCordic.scala 89:27]
        node _T_126 = shr(workingX[4], 5) @[RotationCordic.scala 90:56]
        node _T_127 = sub(workingY[4], _T_126) @[RotationCordic.scala 90:42]
        node _T_128 = tail(_T_127, 1) @[RotationCordic.scala 90:42]
        node _T_129 = asSInt(_T_128) @[RotationCordic.scala 90:42]
        workingY[5] <= _T_129 @[RotationCordic.scala 90:27]
        node _T_130 = add(workingPhase[4], UInt<9>("h0146")) @[RotationCordic.scala 91:50]
        node _T_131 = tail(_T_130, 1) @[RotationCordic.scala 91:50]
        workingPhase[5] <= _T_131 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_132 = shr(workingY[4], 5) @[RotationCordic.scala 93:56]
        node _T_133 = sub(workingX[4], _T_132) @[RotationCordic.scala 93:42]
        node _T_134 = tail(_T_133, 1) @[RotationCordic.scala 93:42]
        node _T_135 = asSInt(_T_134) @[RotationCordic.scala 93:42]
        workingX[5] <= _T_135 @[RotationCordic.scala 93:27]
        node _T_136 = shr(workingX[4], 5) @[RotationCordic.scala 94:56]
        node _T_137 = add(workingY[4], _T_136) @[RotationCordic.scala 94:42]
        node _T_138 = tail(_T_137, 1) @[RotationCordic.scala 94:42]
        node _T_139 = asSInt(_T_138) @[RotationCordic.scala 94:42]
        workingY[5] <= _T_139 @[RotationCordic.scala 94:27]
        node _T_140 = sub(workingPhase[4], UInt<9>("h0146")) @[RotationCordic.scala 95:50]
        node _T_141 = tail(_T_140, 1) @[RotationCordic.scala 95:50]
        workingPhase[5] <= _T_141 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_142 = bits(workingPhase[5], 15, 15) @[RotationCordic.scala 88:31]
      node _T_143 = eq(_T_142, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_143 : @[RotationCordic.scala 88:54]
        node _T_144 = shr(workingY[5], 6) @[RotationCordic.scala 89:56]
        node _T_145 = add(workingX[5], _T_144) @[RotationCordic.scala 89:42]
        node _T_146 = tail(_T_145, 1) @[RotationCordic.scala 89:42]
        node _T_147 = asSInt(_T_146) @[RotationCordic.scala 89:42]
        workingX[6] <= _T_147 @[RotationCordic.scala 89:27]
        node _T_148 = shr(workingX[5], 6) @[RotationCordic.scala 90:56]
        node _T_149 = sub(workingY[5], _T_148) @[RotationCordic.scala 90:42]
        node _T_150 = tail(_T_149, 1) @[RotationCordic.scala 90:42]
        node _T_151 = asSInt(_T_150) @[RotationCordic.scala 90:42]
        workingY[6] <= _T_151 @[RotationCordic.scala 90:27]
        node _T_152 = add(workingPhase[5], UInt<8>("h0a3")) @[RotationCordic.scala 91:50]
        node _T_153 = tail(_T_152, 1) @[RotationCordic.scala 91:50]
        workingPhase[6] <= _T_153 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_154 = shr(workingY[5], 6) @[RotationCordic.scala 93:56]
        node _T_155 = sub(workingX[5], _T_154) @[RotationCordic.scala 93:42]
        node _T_156 = tail(_T_155, 1) @[RotationCordic.scala 93:42]
        node _T_157 = asSInt(_T_156) @[RotationCordic.scala 93:42]
        workingX[6] <= _T_157 @[RotationCordic.scala 93:27]
        node _T_158 = shr(workingX[5], 6) @[RotationCordic.scala 94:56]
        node _T_159 = add(workingY[5], _T_158) @[RotationCordic.scala 94:42]
        node _T_160 = tail(_T_159, 1) @[RotationCordic.scala 94:42]
        node _T_161 = asSInt(_T_160) @[RotationCordic.scala 94:42]
        workingY[6] <= _T_161 @[RotationCordic.scala 94:27]
        node _T_162 = sub(workingPhase[5], UInt<8>("h0a3")) @[RotationCordic.scala 95:50]
        node _T_163 = tail(_T_162, 1) @[RotationCordic.scala 95:50]
        workingPhase[6] <= _T_163 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_164 = bits(workingPhase[6], 15, 15) @[RotationCordic.scala 88:31]
      node _T_165 = eq(_T_164, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_165 : @[RotationCordic.scala 88:54]
        node _T_166 = shr(workingY[6], 7) @[RotationCordic.scala 89:56]
        node _T_167 = add(workingX[6], _T_166) @[RotationCordic.scala 89:42]
        node _T_168 = tail(_T_167, 1) @[RotationCordic.scala 89:42]
        node _T_169 = asSInt(_T_168) @[RotationCordic.scala 89:42]
        workingX[7] <= _T_169 @[RotationCordic.scala 89:27]
        node _T_170 = shr(workingX[6], 7) @[RotationCordic.scala 90:56]
        node _T_171 = sub(workingY[6], _T_170) @[RotationCordic.scala 90:42]
        node _T_172 = tail(_T_171, 1) @[RotationCordic.scala 90:42]
        node _T_173 = asSInt(_T_172) @[RotationCordic.scala 90:42]
        workingY[7] <= _T_173 @[RotationCordic.scala 90:27]
        node _T_174 = add(workingPhase[6], UInt<7>("h051")) @[RotationCordic.scala 91:50]
        node _T_175 = tail(_T_174, 1) @[RotationCordic.scala 91:50]
        workingPhase[7] <= _T_175 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_176 = shr(workingY[6], 7) @[RotationCordic.scala 93:56]
        node _T_177 = sub(workingX[6], _T_176) @[RotationCordic.scala 93:42]
        node _T_178 = tail(_T_177, 1) @[RotationCordic.scala 93:42]
        node _T_179 = asSInt(_T_178) @[RotationCordic.scala 93:42]
        workingX[7] <= _T_179 @[RotationCordic.scala 93:27]
        node _T_180 = shr(workingX[6], 7) @[RotationCordic.scala 94:56]
        node _T_181 = add(workingY[6], _T_180) @[RotationCordic.scala 94:42]
        node _T_182 = tail(_T_181, 1) @[RotationCordic.scala 94:42]
        node _T_183 = asSInt(_T_182) @[RotationCordic.scala 94:42]
        workingY[7] <= _T_183 @[RotationCordic.scala 94:27]
        node _T_184 = sub(workingPhase[6], UInt<7>("h051")) @[RotationCordic.scala 95:50]
        node _T_185 = tail(_T_184, 1) @[RotationCordic.scala 95:50]
        workingPhase[7] <= _T_185 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_186 = bits(workingPhase[7], 15, 15) @[RotationCordic.scala 88:31]
      node _T_187 = eq(_T_186, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_187 : @[RotationCordic.scala 88:54]
        node _T_188 = shr(workingY[7], 8) @[RotationCordic.scala 89:56]
        node _T_189 = add(workingX[7], _T_188) @[RotationCordic.scala 89:42]
        node _T_190 = tail(_T_189, 1) @[RotationCordic.scala 89:42]
        node _T_191 = asSInt(_T_190) @[RotationCordic.scala 89:42]
        workingX[8] <= _T_191 @[RotationCordic.scala 89:27]
        node _T_192 = shr(workingX[7], 8) @[RotationCordic.scala 90:56]
        node _T_193 = sub(workingY[7], _T_192) @[RotationCordic.scala 90:42]
        node _T_194 = tail(_T_193, 1) @[RotationCordic.scala 90:42]
        node _T_195 = asSInt(_T_194) @[RotationCordic.scala 90:42]
        workingY[8] <= _T_195 @[RotationCordic.scala 90:27]
        node _T_196 = add(workingPhase[7], UInt<6>("h029")) @[RotationCordic.scala 91:50]
        node _T_197 = tail(_T_196, 1) @[RotationCordic.scala 91:50]
        workingPhase[8] <= _T_197 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_198 = shr(workingY[7], 8) @[RotationCordic.scala 93:56]
        node _T_199 = sub(workingX[7], _T_198) @[RotationCordic.scala 93:42]
        node _T_200 = tail(_T_199, 1) @[RotationCordic.scala 93:42]
        node _T_201 = asSInt(_T_200) @[RotationCordic.scala 93:42]
        workingX[8] <= _T_201 @[RotationCordic.scala 93:27]
        node _T_202 = shr(workingX[7], 8) @[RotationCordic.scala 94:56]
        node _T_203 = add(workingY[7], _T_202) @[RotationCordic.scala 94:42]
        node _T_204 = tail(_T_203, 1) @[RotationCordic.scala 94:42]
        node _T_205 = asSInt(_T_204) @[RotationCordic.scala 94:42]
        workingY[8] <= _T_205 @[RotationCordic.scala 94:27]
        node _T_206 = sub(workingPhase[7], UInt<6>("h029")) @[RotationCordic.scala 95:50]
        node _T_207 = tail(_T_206, 1) @[RotationCordic.scala 95:50]
        workingPhase[8] <= _T_207 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_208 = bits(workingPhase[8], 15, 15) @[RotationCordic.scala 88:31]
      node _T_209 = eq(_T_208, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_209 : @[RotationCordic.scala 88:54]
        node _T_210 = shr(workingY[8], 9) @[RotationCordic.scala 89:56]
        node _T_211 = add(workingX[8], _T_210) @[RotationCordic.scala 89:42]
        node _T_212 = tail(_T_211, 1) @[RotationCordic.scala 89:42]
        node _T_213 = asSInt(_T_212) @[RotationCordic.scala 89:42]
        workingX[9] <= _T_213 @[RotationCordic.scala 89:27]
        node _T_214 = shr(workingX[8], 9) @[RotationCordic.scala 90:56]
        node _T_215 = sub(workingY[8], _T_214) @[RotationCordic.scala 90:42]
        node _T_216 = tail(_T_215, 1) @[RotationCordic.scala 90:42]
        node _T_217 = asSInt(_T_216) @[RotationCordic.scala 90:42]
        workingY[9] <= _T_217 @[RotationCordic.scala 90:27]
        node _T_218 = add(workingPhase[8], UInt<5>("h014")) @[RotationCordic.scala 91:50]
        node _T_219 = tail(_T_218, 1) @[RotationCordic.scala 91:50]
        workingPhase[9] <= _T_219 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_220 = shr(workingY[8], 9) @[RotationCordic.scala 93:56]
        node _T_221 = sub(workingX[8], _T_220) @[RotationCordic.scala 93:42]
        node _T_222 = tail(_T_221, 1) @[RotationCordic.scala 93:42]
        node _T_223 = asSInt(_T_222) @[RotationCordic.scala 93:42]
        workingX[9] <= _T_223 @[RotationCordic.scala 93:27]
        node _T_224 = shr(workingX[8], 9) @[RotationCordic.scala 94:56]
        node _T_225 = add(workingY[8], _T_224) @[RotationCordic.scala 94:42]
        node _T_226 = tail(_T_225, 1) @[RotationCordic.scala 94:42]
        node _T_227 = asSInt(_T_226) @[RotationCordic.scala 94:42]
        workingY[9] <= _T_227 @[RotationCordic.scala 94:27]
        node _T_228 = sub(workingPhase[8], UInt<5>("h014")) @[RotationCordic.scala 95:50]
        node _T_229 = tail(_T_228, 1) @[RotationCordic.scala 95:50]
        workingPhase[9] <= _T_229 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_230 = bits(workingPhase[9], 15, 15) @[RotationCordic.scala 88:31]
      node _T_231 = eq(_T_230, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_231 : @[RotationCordic.scala 88:54]
        node _T_232 = shr(workingY[9], 10) @[RotationCordic.scala 89:56]
        node _T_233 = add(workingX[9], _T_232) @[RotationCordic.scala 89:42]
        node _T_234 = tail(_T_233, 1) @[RotationCordic.scala 89:42]
        node _T_235 = asSInt(_T_234) @[RotationCordic.scala 89:42]
        workingX[10] <= _T_235 @[RotationCordic.scala 89:27]
        node _T_236 = shr(workingX[9], 10) @[RotationCordic.scala 90:56]
        node _T_237 = sub(workingY[9], _T_236) @[RotationCordic.scala 90:42]
        node _T_238 = tail(_T_237, 1) @[RotationCordic.scala 90:42]
        node _T_239 = asSInt(_T_238) @[RotationCordic.scala 90:42]
        workingY[10] <= _T_239 @[RotationCordic.scala 90:27]
        node _T_240 = add(workingPhase[9], UInt<4>("h0a")) @[RotationCordic.scala 91:50]
        node _T_241 = tail(_T_240, 1) @[RotationCordic.scala 91:50]
        workingPhase[10] <= _T_241 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_242 = shr(workingY[9], 10) @[RotationCordic.scala 93:56]
        node _T_243 = sub(workingX[9], _T_242) @[RotationCordic.scala 93:42]
        node _T_244 = tail(_T_243, 1) @[RotationCordic.scala 93:42]
        node _T_245 = asSInt(_T_244) @[RotationCordic.scala 93:42]
        workingX[10] <= _T_245 @[RotationCordic.scala 93:27]
        node _T_246 = shr(workingX[9], 10) @[RotationCordic.scala 94:56]
        node _T_247 = add(workingY[9], _T_246) @[RotationCordic.scala 94:42]
        node _T_248 = tail(_T_247, 1) @[RotationCordic.scala 94:42]
        node _T_249 = asSInt(_T_248) @[RotationCordic.scala 94:42]
        workingY[10] <= _T_249 @[RotationCordic.scala 94:27]
        node _T_250 = sub(workingPhase[9], UInt<4>("h0a")) @[RotationCordic.scala 95:50]
        node _T_251 = tail(_T_250, 1) @[RotationCordic.scala 95:50]
        workingPhase[10] <= _T_251 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_252 = bits(workingPhase[10], 15, 15) @[RotationCordic.scala 88:31]
      node _T_253 = eq(_T_252, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_253 : @[RotationCordic.scala 88:54]
        node _T_254 = shr(workingY[10], 11) @[RotationCordic.scala 89:56]
        node _T_255 = add(workingX[10], _T_254) @[RotationCordic.scala 89:42]
        node _T_256 = tail(_T_255, 1) @[RotationCordic.scala 89:42]
        node _T_257 = asSInt(_T_256) @[RotationCordic.scala 89:42]
        workingX[11] <= _T_257 @[RotationCordic.scala 89:27]
        node _T_258 = shr(workingX[10], 11) @[RotationCordic.scala 90:56]
        node _T_259 = sub(workingY[10], _T_258) @[RotationCordic.scala 90:42]
        node _T_260 = tail(_T_259, 1) @[RotationCordic.scala 90:42]
        node _T_261 = asSInt(_T_260) @[RotationCordic.scala 90:42]
        workingY[11] <= _T_261 @[RotationCordic.scala 90:27]
        node _T_262 = add(workingPhase[10], UInt<3>("h05")) @[RotationCordic.scala 91:50]
        node _T_263 = tail(_T_262, 1) @[RotationCordic.scala 91:50]
        workingPhase[11] <= _T_263 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_264 = shr(workingY[10], 11) @[RotationCordic.scala 93:56]
        node _T_265 = sub(workingX[10], _T_264) @[RotationCordic.scala 93:42]
        node _T_266 = tail(_T_265, 1) @[RotationCordic.scala 93:42]
        node _T_267 = asSInt(_T_266) @[RotationCordic.scala 93:42]
        workingX[11] <= _T_267 @[RotationCordic.scala 93:27]
        node _T_268 = shr(workingX[10], 11) @[RotationCordic.scala 94:56]
        node _T_269 = add(workingY[10], _T_268) @[RotationCordic.scala 94:42]
        node _T_270 = tail(_T_269, 1) @[RotationCordic.scala 94:42]
        node _T_271 = asSInt(_T_270) @[RotationCordic.scala 94:42]
        workingY[11] <= _T_271 @[RotationCordic.scala 94:27]
        node _T_272 = sub(workingPhase[10], UInt<3>("h05")) @[RotationCordic.scala 95:50]
        node _T_273 = tail(_T_272, 1) @[RotationCordic.scala 95:50]
        workingPhase[11] <= _T_273 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_274 = bits(workingPhase[11], 15, 15) @[RotationCordic.scala 88:31]
      node _T_275 = eq(_T_274, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_275 : @[RotationCordic.scala 88:54]
        node _T_276 = shr(workingY[11], 12) @[RotationCordic.scala 89:56]
        node _T_277 = add(workingX[11], _T_276) @[RotationCordic.scala 89:42]
        node _T_278 = tail(_T_277, 1) @[RotationCordic.scala 89:42]
        node _T_279 = asSInt(_T_278) @[RotationCordic.scala 89:42]
        workingX[12] <= _T_279 @[RotationCordic.scala 89:27]
        node _T_280 = shr(workingX[11], 12) @[RotationCordic.scala 90:56]
        node _T_281 = sub(workingY[11], _T_280) @[RotationCordic.scala 90:42]
        node _T_282 = tail(_T_281, 1) @[RotationCordic.scala 90:42]
        node _T_283 = asSInt(_T_282) @[RotationCordic.scala 90:42]
        workingY[12] <= _T_283 @[RotationCordic.scala 90:27]
        node _T_284 = add(workingPhase[11], UInt<2>("h03")) @[RotationCordic.scala 91:50]
        node _T_285 = tail(_T_284, 1) @[RotationCordic.scala 91:50]
        workingPhase[12] <= _T_285 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_286 = shr(workingY[11], 12) @[RotationCordic.scala 93:56]
        node _T_287 = sub(workingX[11], _T_286) @[RotationCordic.scala 93:42]
        node _T_288 = tail(_T_287, 1) @[RotationCordic.scala 93:42]
        node _T_289 = asSInt(_T_288) @[RotationCordic.scala 93:42]
        workingX[12] <= _T_289 @[RotationCordic.scala 93:27]
        node _T_290 = shr(workingX[11], 12) @[RotationCordic.scala 94:56]
        node _T_291 = add(workingY[11], _T_290) @[RotationCordic.scala 94:42]
        node _T_292 = tail(_T_291, 1) @[RotationCordic.scala 94:42]
        node _T_293 = asSInt(_T_292) @[RotationCordic.scala 94:42]
        workingY[12] <= _T_293 @[RotationCordic.scala 94:27]
        node _T_294 = sub(workingPhase[11], UInt<2>("h03")) @[RotationCordic.scala 95:50]
        node _T_295 = tail(_T_294, 1) @[RotationCordic.scala 95:50]
        workingPhase[12] <= _T_295 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_296 = bits(workingPhase[12], 15, 15) @[RotationCordic.scala 88:31]
      node _T_297 = eq(_T_296, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_297 : @[RotationCordic.scala 88:54]
        node _T_298 = shr(workingY[12], 13) @[RotationCordic.scala 89:56]
        node _T_299 = add(workingX[12], _T_298) @[RotationCordic.scala 89:42]
        node _T_300 = tail(_T_299, 1) @[RotationCordic.scala 89:42]
        node _T_301 = asSInt(_T_300) @[RotationCordic.scala 89:42]
        workingX[13] <= _T_301 @[RotationCordic.scala 89:27]
        node _T_302 = shr(workingX[12], 13) @[RotationCordic.scala 90:56]
        node _T_303 = sub(workingY[12], _T_302) @[RotationCordic.scala 90:42]
        node _T_304 = tail(_T_303, 1) @[RotationCordic.scala 90:42]
        node _T_305 = asSInt(_T_304) @[RotationCordic.scala 90:42]
        workingY[13] <= _T_305 @[RotationCordic.scala 90:27]
        node _T_306 = add(workingPhase[12], UInt<1>("h01")) @[RotationCordic.scala 91:50]
        node _T_307 = tail(_T_306, 1) @[RotationCordic.scala 91:50]
        workingPhase[13] <= _T_307 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_308 = shr(workingY[12], 13) @[RotationCordic.scala 93:56]
        node _T_309 = sub(workingX[12], _T_308) @[RotationCordic.scala 93:42]
        node _T_310 = tail(_T_309, 1) @[RotationCordic.scala 93:42]
        node _T_311 = asSInt(_T_310) @[RotationCordic.scala 93:42]
        workingX[13] <= _T_311 @[RotationCordic.scala 93:27]
        node _T_312 = shr(workingX[12], 13) @[RotationCordic.scala 94:56]
        node _T_313 = add(workingY[12], _T_312) @[RotationCordic.scala 94:42]
        node _T_314 = tail(_T_313, 1) @[RotationCordic.scala 94:42]
        node _T_315 = asSInt(_T_314) @[RotationCordic.scala 94:42]
        workingY[13] <= _T_315 @[RotationCordic.scala 94:27]
        node _T_316 = sub(workingPhase[12], UInt<1>("h01")) @[RotationCordic.scala 95:50]
        node _T_317 = tail(_T_316, 1) @[RotationCordic.scala 95:50]
        workingPhase[13] <= _T_317 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      node _T_318 = bits(workingPhase[13], 15, 15) @[RotationCordic.scala 88:31]
      node _T_319 = eq(_T_318, UInt<1>("h01")) @[RotationCordic.scala 88:45]
      when _T_319 : @[RotationCordic.scala 88:54]
        node _T_320 = shr(workingY[13], 14) @[RotationCordic.scala 89:56]
        node _T_321 = add(workingX[13], _T_320) @[RotationCordic.scala 89:42]
        node _T_322 = tail(_T_321, 1) @[RotationCordic.scala 89:42]
        node _T_323 = asSInt(_T_322) @[RotationCordic.scala 89:42]
        workingX[14] <= _T_323 @[RotationCordic.scala 89:27]
        node _T_324 = shr(workingX[13], 14) @[RotationCordic.scala 90:56]
        node _T_325 = sub(workingY[13], _T_324) @[RotationCordic.scala 90:42]
        node _T_326 = tail(_T_325, 1) @[RotationCordic.scala 90:42]
        node _T_327 = asSInt(_T_326) @[RotationCordic.scala 90:42]
        workingY[14] <= _T_327 @[RotationCordic.scala 90:27]
        node _T_328 = add(workingPhase[13], UInt<1>("h01")) @[RotationCordic.scala 91:50]
        node _T_329 = tail(_T_328, 1) @[RotationCordic.scala 91:50]
        workingPhase[14] <= _T_329 @[RotationCordic.scala 91:31]
        skip @[RotationCordic.scala 88:54]
      else : @[RotationCordic.scala 92:23]
        node _T_330 = shr(workingY[13], 14) @[RotationCordic.scala 93:56]
        node _T_331 = sub(workingX[13], _T_330) @[RotationCordic.scala 93:42]
        node _T_332 = tail(_T_331, 1) @[RotationCordic.scala 93:42]
        node _T_333 = asSInt(_T_332) @[RotationCordic.scala 93:42]
        workingX[14] <= _T_333 @[RotationCordic.scala 93:27]
        node _T_334 = shr(workingX[13], 14) @[RotationCordic.scala 94:56]
        node _T_335 = add(workingY[13], _T_334) @[RotationCordic.scala 94:42]
        node _T_336 = tail(_T_335, 1) @[RotationCordic.scala 94:42]
        node _T_337 = asSInt(_T_336) @[RotationCordic.scala 94:42]
        workingY[14] <= _T_337 @[RotationCordic.scala 94:27]
        node _T_338 = sub(workingPhase[13], UInt<1>("h01")) @[RotationCordic.scala 95:50]
        node _T_339 = tail(_T_338, 1) @[RotationCordic.scala 95:50]
        workingPhase[14] <= _T_339 @[RotationCordic.scala 95:31]
        skip @[RotationCordic.scala 92:23]
      workingX[15] <= workingX[14] @[RotationCordic.scala 84:25]
      workingY[15] <= workingY[14] @[RotationCordic.scala 85:25]
      workingPhase[15] <= workingPhase[14] @[RotationCordic.scala 86:29]
      workingX[16] <= workingX[15] @[RotationCordic.scala 84:25]
      workingY[16] <= workingY[15] @[RotationCordic.scala 85:25]
      workingPhase[16] <= workingPhase[15] @[RotationCordic.scala 86:29]
      node _T_340 = bits(io.phase, 15, 13) @[RotationCordic.scala 101:20]
      node _T_341 = eq(UInt<1>("h00"), _T_340) @[Conditional.scala 37:30]
      when _T_341 : @[Conditional.scala 40:58]
        workingX[0] <= extendedX @[RotationCordic.scala 103:21]
        workingY[0] <= extendedY @[RotationCordic.scala 104:21]
        workingPhase[0] <= io.phase @[RotationCordic.scala 105:25]
        skip @[Conditional.scala 40:58]
      else : @[Conditional.scala 39:67]
        node _T_342 = eq(UInt<1>("h01"), _T_340) @[Conditional.scala 37:30]
        when _T_342 : @[Conditional.scala 39:67]
          node _T_343 = sub(asSInt(UInt<1>("h00")), extendedY) @[RotationCordic.scala 108:24]
          node _T_344 = tail(_T_343, 1) @[RotationCordic.scala 108:24]
          node _T_345 = asSInt(_T_344) @[RotationCordic.scala 108:24]
          workingX[0] <= _T_345 @[RotationCordic.scala 108:21]
          workingY[0] <= extendedX @[RotationCordic.scala 109:21]
          node _T_346 = sub(io.phase, UInt<15>("h04000")) @[RotationCordic.scala 110:37]
          node _T_347 = tail(_T_346, 1) @[RotationCordic.scala 110:37]
          workingPhase[0] <= _T_347 @[RotationCordic.scala 110:25]
          skip @[Conditional.scala 39:67]
        else : @[Conditional.scala 39:67]
          node _T_348 = eq(UInt<2>("h02"), _T_340) @[Conditional.scala 37:30]
          when _T_348 : @[Conditional.scala 39:67]
            node _T_349 = sub(asSInt(UInt<1>("h00")), extendedY) @[RotationCordic.scala 113:24]
            node _T_350 = tail(_T_349, 1) @[RotationCordic.scala 113:24]
            node _T_351 = asSInt(_T_350) @[RotationCordic.scala 113:24]
            workingX[0] <= _T_351 @[RotationCordic.scala 113:21]
            workingY[0] <= extendedX @[RotationCordic.scala 114:21]
            node _T_352 = sub(io.phase, UInt<15>("h04000")) @[RotationCordic.scala 115:37]
            node _T_353 = tail(_T_352, 1) @[RotationCordic.scala 115:37]
            workingPhase[0] <= _T_353 @[RotationCordic.scala 115:25]
            skip @[Conditional.scala 39:67]
          else : @[Conditional.scala 39:67]
            node _T_354 = eq(UInt<2>("h03"), _T_340) @[Conditional.scala 37:30]
            when _T_354 : @[Conditional.scala 39:67]
              node _T_355 = sub(asSInt(UInt<1>("h00")), extendedX) @[RotationCordic.scala 118:24]
              node _T_356 = tail(_T_355, 1) @[RotationCordic.scala 118:24]
              node _T_357 = asSInt(_T_356) @[RotationCordic.scala 118:24]
              workingX[0] <= _T_357 @[RotationCordic.scala 118:21]
              node _T_358 = sub(asSInt(UInt<1>("h00")), extendedY) @[RotationCordic.scala 119:24]
              node _T_359 = tail(_T_358, 1) @[RotationCordic.scala 119:24]
              node _T_360 = asSInt(_T_359) @[RotationCordic.scala 119:24]
              workingY[0] <= _T_360 @[RotationCordic.scala 119:21]
              node _T_361 = sub(io.phase, UInt<16>("h08000")) @[RotationCordic.scala 120:37]
              node _T_362 = tail(_T_361, 1) @[RotationCordic.scala 120:37]
              workingPhase[0] <= _T_362 @[RotationCordic.scala 120:25]
              skip @[Conditional.scala 39:67]
            else : @[Conditional.scala 39:67]
              node _T_363 = eq(UInt<3>("h04"), _T_340) @[Conditional.scala 37:30]
              when _T_363 : @[Conditional.scala 39:67]
                node _T_364 = sub(asSInt(UInt<1>("h00")), extendedX) @[RotationCordic.scala 123:24]
                node _T_365 = tail(_T_364, 1) @[RotationCordic.scala 123:24]
                node _T_366 = asSInt(_T_365) @[RotationCordic.scala 123:24]
                workingX[0] <= _T_366 @[RotationCordic.scala 123:21]
                node _T_367 = sub(asSInt(UInt<1>("h00")), extendedY) @[RotationCordic.scala 124:24]
                node _T_368 = tail(_T_367, 1) @[RotationCordic.scala 124:24]
                node _T_369 = asSInt(_T_368) @[RotationCordic.scala 124:24]
                workingY[0] <= _T_369 @[RotationCordic.scala 124:21]
                node _T_370 = sub(io.phase, UInt<16>("h08000")) @[RotationCordic.scala 125:37]
                node _T_371 = tail(_T_370, 1) @[RotationCordic.scala 125:37]
                workingPhase[0] <= _T_371 @[RotationCordic.scala 125:25]
                skip @[Conditional.scala 39:67]
              else : @[Conditional.scala 39:67]
                node _T_372 = eq(UInt<3>("h05"), _T_340) @[Conditional.scala 37:30]
                when _T_372 : @[Conditional.scala 39:67]
                  workingX[0] <= extendedY @[RotationCordic.scala 128:21]
                  node _T_373 = sub(asSInt(UInt<1>("h00")), extendedX) @[RotationCordic.scala 129:24]
                  node _T_374 = tail(_T_373, 1) @[RotationCordic.scala 129:24]
                  node _T_375 = asSInt(_T_374) @[RotationCordic.scala 129:24]
                  workingY[0] <= _T_375 @[RotationCordic.scala 129:21]
                  node _T_376 = sub(io.phase, UInt<16>("h0c000")) @[RotationCordic.scala 130:37]
                  node _T_377 = tail(_T_376, 1) @[RotationCordic.scala 130:37]
                  workingPhase[0] <= _T_377 @[RotationCordic.scala 130:25]
                  skip @[Conditional.scala 39:67]
                else : @[Conditional.scala 39:67]
                  node _T_378 = eq(UInt<3>("h06"), _T_340) @[Conditional.scala 37:30]
                  when _T_378 : @[Conditional.scala 39:67]
                    workingX[0] <= extendedY @[RotationCordic.scala 133:21]
                    node _T_379 = sub(asSInt(UInt<1>("h00")), extendedX) @[RotationCordic.scala 134:24]
                    node _T_380 = tail(_T_379, 1) @[RotationCordic.scala 134:24]
                    node _T_381 = asSInt(_T_380) @[RotationCordic.scala 134:24]
                    workingY[0] <= _T_381 @[RotationCordic.scala 134:21]
                    node _T_382 = sub(io.phase, UInt<16>("h0c000")) @[RotationCordic.scala 135:37]
                    node _T_383 = tail(_T_382, 1) @[RotationCordic.scala 135:37]
                    workingPhase[0] <= _T_383 @[RotationCordic.scala 135:25]
                    skip @[Conditional.scala 39:67]
                  else : @[Conditional.scala 39:67]
                    node _T_384 = eq(UInt<3>("h07"), _T_340) @[Conditional.scala 37:30]
                    when _T_384 : @[Conditional.scala 39:67]
                      workingX[0] <= extendedX @[RotationCordic.scala 138:21]
                      workingY[0] <= extendedY @[RotationCordic.scala 139:21]
                      workingPhase[0] <= io.phase @[RotationCordic.scala 140:25]
                      skip @[Conditional.scala 39:67]
      skip @[RotationCordic.scala 71:15]
